Organizations with high volumes of data have long sought to maximize data storage performance while minimizing the cost of storage. Because of this, some organizations have employed striped volumes in an attempt to improve input/output performance. Striping a volume across multiple disks may improve input/output performance by distributing input/output requests across the multiple disks.
Unfortunately, striped volumes may handle certain operations inefficiently. For example, when reclaiming storage space from certain striped volumes, a single storage reclamation request may be broken into multiple stripe-level reclamation requests, potentially resulting in the issuance of thousands of reclamation requests. For example, a request to reclaim 1 GB of storage from a RAID 0/5/6/10 volume striped across five different disks using a stripe width of 64 KB may be broken into 3,276 separate reclamation requests of 64 KB in size ([(1 GB/64 KB)/5 disks)]=3,276) for each disk (or 16,380 total reclamation requests).
Processing such large numbers of stripe-level reclamation requests may consume an inordinate amount of system resources. Moreover, in the case of thin-provisioned storage, if the width of the stripes does not align with the allocation size of the thin-provisioned system, some storage may not be reclaimed. Accordingly, the instant disclosure identifies a need for systems and methods that efficiently reclaim storage space on striped volumes.